Dynamic tracking device reconfiguration

ABSTRACT

A tracking device can be reconfigured after an amount of operation to preserve the battery capacity of the tracking device and to ensure that the tracking device can be operated for a pre-determined threshold period of time. The tracking device can provide diagnostic information representative of a state of the tracking device, such as a current power capacity of the tracking device&#39;s battery, to a mobile device within a threshold proximity of the tracking device. The mobile device can then provide the diagnostic information to a tracking server, which in turn can provide reconfiguration instructions to the mobile device. The mobile device can then pass on the reconfiguration instructions to the tracking device, in response to which the tracking device can reconfigure itself.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.15/150,415, filed May 9, 2016, now patent Ser. No. ______, which isincorporated by reference in its entirety.

BACKGROUND 1. Field of the Disclosure

This disclosure relates generally to electronic tracking devices, andmore specifically, to dynamically reconfiguring a tracking device basedon usage information.

2. Description of the Related Art

Electronic tracking devices have created numerous ways for people totrack the locations of people and/or objects. For example, a user canuse GPS technology to determine a location of the device. In anotherexample, a user can attach a tracking device to an important object,such as keys or a wallet, and use the features of the tracking device tomore quickly communicate with the object, (e.g., if it becomes lost).

However, traditional tracking devices and corresponding systems sufferfrom one or more disadvantages. For example, battery life of a trackingdevice is often limited. Traditional tracking devices broadcastadvertisement packets at a predetermined frequency. Broadcastingadvertisement packets during periods of inactivity (e.g., while a useris sleeping) can unnecessarily drain the battery of a tracking device.

SUMMARY

A tracking device can be reconfigured after an amount of operation topreserve the battery capacity of the tracking device and to ensure thatthe tracking device can be operated for a pre-determined thresholdperiod of time. For instance, in order to guarantee continuous operationoff a single battery charge for one year, the tracking device canprovide periodic status updates to a mobile device associated with thetracking device. The periodic status updates can include diagnosticinformation such as a current power capacity available to the trackingdevice via the tracking device battery.

The mobile device can provide the diagnostic information to a trackingserver, which can estimate an expected remaining amount of operationtime available to the tracking device based on the diagnosticinformation. In some embodiments, the estimate can be based onhistorical behaviors of the tracking device. The tracking server canthen generate reconfiguration instructions to provide to the trackingdevice via the mobile device, and the tracking device can reconfigureitself accordingly. In some embodiments, the reconfigurationinstructions are selected in order to ensure that the tracking devicecan continue to operate for at least a pre-determined minimum thresholdamount of time.

BRIEF DESCRIPTION OF THE DRAWINGS

Figure (FIG. 1 illustrates an environment for use in dynamicallyadjusting parameters of a tracking device according to principlesdescribed herein.

FIG. 2 illustrates a tracking system of the environment of FIG. 1,according to one embodiment.

FIG. 3 illustrates a mobile device of the environment of FIG. 1,according to one embodiment.

FIG. 4 illustrates an interaction diagram for sending configurationparameters from a tracking system to a tracking device via a mobiledevice, according to one embodiment.

The figures depict various embodiments for purposes of illustrationonly. One skilled in the art will readily recognize from the followingdiscussion that alternative embodiments of the structures and methodsillustrated herein may be employed without departing from the principlesdescribed herein.

DETAILED DESCRIPTION

Embodiments described herein relate to dynamically reconfiguring (or“adjusting configuration parameters of”) a tracking device based ondiagnostic information, including information related to the trackingdevice (e.g., tracking device diagnostic information) and/or informationrelated to a mobile device/user (e.g., mobile device diagnosticinformation) associated with the tracking device to enhance a user'sexperience with an object associated with the tracking device.

The tracking device introduces features to the object associated withthe tracking device (e.g., the object to which the tracking device isattached) not otherwise available to the object. For example, the usercan attach the tracking device to or enclose the tracking device withinthe object, such as, for example, a wallet, keys, a car, a bike, a pet,or any other object that the user wants to track. The user can then usea mobile device (e.g., via a software application installed on themobile device) to communicate with the tracking device and thecorresponding object. For example, the mobile device can perform a localsearch for the tracking device attached to the near-by object.

The tracking device can have power constraints such as, for example, alimited battery life due to an inability to replace the tracking devicebattery. A tracking system (e.g., a cloud based service) can reconfigureparameters of the tracking device to account for the power constraints.In one example, the tracking system can reconfigure the tracking deviceto broadcast advertisement packets at a lower frequency, to emit a soundor a song at a lower volume, to emit light at a lower brightness, tovibrate at a lower setting for a shorter duration, etc., and thusincrease the battery life of the tracking device. However, increasingthe battery life of the tracking device by decreasing the functionalityof the tracking device may adversely decrease the user's experience withthe object associated with the tracking device. In another example, thetracking system can reconfigure the tracking device based on a powerconsumption model which takes into account the power constraints of thetracking device and the diagnostic information including the informationrelated to the tracking device and/or the information related to theuser (e.g., historical user information, available battery powerinformation, etc.). The tracking system can periodically revise thepower consumption model based on the change in diagnostic information.In this manner, the tracking system can optimize the tracking devicebased on the power constraint, the information related to the trackingdevice and/or the information related to the user and thus increase thebattery life of the tracking device while personalizing the user'sexperience with the associated tracking device.

Environment Overview

FIG. 1 illustrates an environment for use in dynamically adjustingparameters of a tracking device 106, according to one embodiment. FIG. 1illustrates a tracking system 100 communicatively coupled to a mobiledevice 102 associated with a user 103. As will be explained in moredetail below, the tracking system 100 dynamically adjusts parameters ofthe tracking device 106 based on diagnostic information includinginformation that characterizes the tracking device 106 (e.g., trackingdevice diagnostic information) and/or information that characterizes themobile device 102 and/or the user 103 (e.g., mobile device diagnosticinformation). Although FIG. 1 illustrates a particular arrangement ofthe tracking system 100, the mobile device 102, the user 103, and thetracking device 106, various additional arrangements are possible.

The tracking system 100 and the mobile device 102 communicate via afirst network 108. The tracking system 100 and the mobile device 102 cancommunicate using any communication platforms and technologies suitablefor transporting data and/or communication signals, including knowncommunication technologies, devices, media, and protocols supportive ofremote data communications. The first network 108 can include one ormore networks, including, but not limited to, wireless networks (e.g.,wireless communication networks), mobile telephone networks (e.g.,cellular telephone networks), closed communication networks, opencommunication networks, satellite networks, navigation networks,broadband networks, narrowband networks, the Internet, local areanetworks, and any other networks capable of carrying data and/orcommunications signals between the tracking system 100 and the mobiledevice 102.

The mobile device 102 and the tracking device 106 communicate via asecond network 110. The second network 110 can be a similar or adifferent type of network as the first network 108. In some embodiments,the second network 110 includes a wireless network with a limitedcommunication range, such as a Bluetooth or Bluetooth Low Energy (BLE)wireless network. In some configurations, the second network 110 is apoint-to-point network including the tracking device 106 and one or moremobile devices (e.g., the mobile device 102) within a thresholdproximity of the tracking device 106. Accordingly, any given mobiledevice (such as the mobile device 102) is only able to communicate withthe tracking device 106 if it is within a threshold proximity to thetracking device 106. In other configurations, the second network 110 isa mobile telephone network including one or more mobile devices (e.g.,the mobile device 102) and the tracking device 106. Accordingly, anygiven mobile device (such as the mobile device 102) can be able tocommunicate with the tracking device 106 regardless of proximity. Insome configurations, the mobile device 102 can be associated withmultiple tracking devices 106 associated with various users (e.g., theuser 103).

The tracking device 106 can be a chip, tile, tag, or other device forhousing circuitry and that can be attached to or enclosed within anobject such as a wallet, keys, purse, car, pet, or other object that theuser 103 may track. The tracking device 106 includes a transmitter forbroadcasting signals (such as advertisement packets) that can bedetected using a nearby mobile device 102, and a receiver for receivingcommunications (such as configuration instructions) from a nearby mobiledevice. In one configuration, the tracking device 106 can broadcastsignals periodically or in response to an event (such as a detectedmotion of the tracking device 106).

The tracking device 106 broadcasts signals such as, for example,advertisement packets. The advertisement packets include informationthat the mobile device 102 can act on and/or that the mobile device 102can forward to the tracking system 100 to act on. The tracking device106 can define a format of the advertisement packets includinginformation included and order thereof. The tracking device 106 caninform the mobile device 102 of the format of the advertisement packetsprior to broadcasting the advertisement packets.

An advertisement packet includes a unique tracking device identifierassociated with the tracking device 106. The advertisement packetfurther includes usage information associated with software/hardwarecomponents onboard the tracking device 106 such as, for example, one ormore sensors, speakers, light emitting diodes (LEDs), displays, etc. Theusage information associated with the components onboard the trackingdevice 106 can include, for example, current settings (e.g., high poweror high efficiency notifications, a broadcast frequency of advertisementpackets, etc.), power usage information and history, movementinformation and history, sensor use information and history, etc. Theadvertisement packet includes battery information associated with abattery at the tracking device 106. The battery information includes,for example, a measure of battery capacity, a measure of remainingbattery charge, a measure of discharge current, etc. The power usageinformation can include a measure of discharge current required tooperate each of the one or more sensors, each of the speakers, each ofthe LEDs, each of the displays, etc. The power usage information canfurther include a measure of discharge current required for broadcastingeach advertisement packet. In some configurations, the advertisementpackets include a confirmation signal indicating the tracking device 106successfully received configuration parameters/instructions from themobile device 102, and can include a time since or date of lastreconfiguration. The advertisement packet further includes a broadcastfrequency of the advertisement packets. The broadcast frequency is ameasure of how often the tracking device 106 transmits the advertisementpacket.

The tracking device 106 can broadcast the advertisement packets atvarying broadcast frequencies. For example, the broadcast frequency canrange from one advertisement packet every 20 milliseconds to oneadvertisement packet every 10.24 seconds. In some configurations, thetracking device 106 can adjust the broadcast frequency. For example, thetracking device 106 can adjust the broadcast frequency in steps of 0.625milliseconds. The tracking device 106 can broadcast the advertisementpackets on one or more channels. In some configurations, the trackingdevice 106 can broadcast the advertisement packets on each of the one ormore channels and in other configurations, the tracking device 106 canbroadcast the advertisement packets on a subset of the one or morechannels.

The tracking device 106 receives reconfiguration instructions from themobile device 102 via the second network 110. The tracking device 106dynamically adjusts parameters of advertisement packets (eitheruniversally or time-specific) and/or parameters of the components(either universally or time-specific) based on reconfigurationparameters included in the reconfiguration instructions. The trackingdevice 106 dynamically adjusts the parameters of the advertisementpackets by dynamically adjusting the broadcast frequency of theadvertisement packets and/or the channels the advertisement packets arebroadcasted on. The tracking device 106 dynamically adjusts theparameters of the components by dynamically adjusting a sensitivity ofthe one or more sensors, a sampling rate of the one or more sensors, avolume of the speakers, a brightness of the LEDs and/or the displays,etc. In some configurations, the tracking device 106 changes powersetting (e.g., from a higher power setting to a higher efficiencysetting, or vice versa). Changing power settings can include dynamicallyadjusting the parameters of the advertisement packets, and/ordynamically adjusting the parameters of the components (for allcomponents or subset thereof). In some configurations, the trackingdevice 106 emits sound from the speakers, emits light from the LEDs,displays an indication on the display, or displays or emits any othertype of notification based on the reconfiguration instructions. In someconfigurations, the tracking device 106 transmits an advertisementpacket including a confirmation signal to the mobile device 102indicating that the tracking device 106 successfully received thereconfiguration parameters/instructions, and can include a time since ordate of last reconfiguration.

The mobile device 102 enables the user 103 and/or the tracking system100 to communicate with the detected tracking device 106. The strengthof signals received by the mobile device 102 from the tracking device106 can be used to determine a distance between the mobile device 102and the tracking device 106. In some cases, the strength of signals orabsence of signals may be used to indicate that the tracking device 106is not within a threshold proximity of the mobile device 102. The mobiledevice 102 communicates with tracking devices 106 within a thresholdproximity of the mobile device 102.

As noted above, FIG. 1 illustrates the mobile device 102 associated withthe user 103. The mobile device 102 can be configured to perform one ormore functions with respect to communicating with the tracking device106 and/or communicating with the tracking system 100. The mobile device102 receives via the second network 110 advertisement packets fromtracking devices 106 within a threshold proximity of the mobile device102. In one example, the mobile device 102 within a threshold proximityof the tracking device 106 can identify the tracking device 106 (e.g.,using the unique tracking device identifier associated with andtransmitted by the tracking device 106) based on information included inadvertisement packets received from the tracking device 106 via thesecond network 110.

In some configurations, the mobile device 102 transmits diagnosticinformation including information from the advertisement packets to thetracking system 100 via the first network 108. The mobile device 102receives reconfiguration parameters from the tracking system 100 via thefirst network 108. In response, the mobile device 102 transmitsreconfiguration instructions including the reconfiguration parameters tothe tracking device 106 via the second network 110. The mobile device102 can notify the tracking system 100 that the reconfigurationparameters were successfully received by the tracking device 106 and caninclude a time since or date of last reconfiguration, for instance, inresponse to an advertisement packet including a confirmation signalreceived from the tracking device 106. In some embodiments, the stepsperformed by the mobile device 102 (for instance, the transmitting ofdiagnostic information to the tracking system 100 or the transmitting ofreconfiguration instructions to the tracking device 106) can beperformed without involvement of the user 103. Accordingly, the mobiledevice 102 can communicate with the tracking system 100 and/or thetracking device 106 without bothering and without the involvement of theuser 103, thereby improving the experience of the user 103 with thetracking device 106.

In other configurations, the reconfiguring of the tracking device 106can be performed at the request of the user 103. For example, the mobiledevice 102 receives input from the user 103 (e.g., via an applicationexecuting on the mobile device 102 and/or an interactive graphical userinterface displayed by the mobile device 102 to the user 103)representative of information about the user 103, information about atracking device 106, and/or reconfiguration parameters. In response, themobile device 102 transmits reconfiguration instructions including thereconfiguration parameters to the tracking device 106 via the secondnetwork 110. The mobile device 102 can notify the user 103 that thereconfiguration parameters were successfully received by the trackingdevice 106 and can include a time since or date of last reconfiguration,for instance, in response to an advertisement packet including aconfirmation signal received from the tracking device 106. Furthermore,the mobile device 102 can notify the tracking system 100 of thereconfiguration parameters the user 103 provided as input to the mobiledevice 102 to transmit to the tracking device 106 and that thereconfiguration parameters were successfully received by the trackingdevice 106 and can include a time since or date of last reconfiguration.

The diagnostic information includes information that characterizes thetracking device 106 (hereinafter referred to as “tracking devicediagnostic information”). For example, the tracking device diagnosticinformation includes information included in the advertisement packets,or a subset thereof. In some configurations, the diagnostic informationfurther includes information that characterizes the mobile device 102and/or the user 103 (hereinafter referred to as “mobile devicediagnostic information”). The mobile device diagnostic informationincludes information from the mobile device 102 and/or the user 103. Themobile device diagnostic information includes a unique mobile deviceidentifier associated with the mobile device 102. The mobile devicediagnostic information further includes, for example, operating systemversion, device name, device model, device brand, GPS status, networkstatus/state, network strength, battery information associated with abattery at the mobile device 102, available random access memory (RAM),available storage, etc. The mobile device diagnostic information canfurther include calendar information including events the user 103 ofthe mobile device 102 has entered into a calendar on the mobile device102.

The tracking system 100 can be configured to provide a number offeatures and services associated with reconfiguring parameters at thetracking devices 106. For example, the tracking system 100 can manageinformation and/or user profiles associated with the user 103 and thetracking devices 106. In particular, the tracking system 100 can manageinformation associated with the tracking device 106 within a thresholdproximity of the mobile device 102. The tracking system 100 isconfigured to receive, store, and process diagnostic information,reconfiguration parameters, and/or information about the mobile device102, information about the user 103, and/or information about thetracking device 106.

The tracking system 100 stores the association between the mobile device102 and the tracking device 106, along with (for example) a timestampindicating the time that the mobile device 102 detected the trackingdevice 106, a distance from the mobile device 102 to the tracking device106, and the like.

In some configurations, the tracking system 100 receives the diagnosticinformation from the mobile device 102 via the first network 108. Thetracking system 100 processes the received diagnostic information,revises a power consumption model, and determines reconfigurationparameters. The tracking system 100 transmits the reconfigurationparameters to the mobile device 102 via the first network 108.

In some configurations, the tracking system 100 receives a notification(e.g., a confirmation) from the mobile device 102 that thereconfiguration parameters were successfully received by the trackingdevice 106 including a time since or date of last reconfiguration. Inother configurations, the tracking system 100 receives a notification(e.g., a confirmation) from the mobile device 102 that the user 103provided reconfiguration parameters as input to the mobile device 102 totransmit to the tracking device 106 and that the reconfigurationparameters were successfully received by the tracking device 106including a time since or date of last reconfiguration.

The reconfiguration parameters refer to communications sent from thetracking system 100 to the mobile device 102 and/or communications sentfrom the user 103 to the mobile device 102. The reconfigurationparameters include instructions for dynamically adjusting parameters atthe tracking device 106 (“reconfiguring the tracking device 106”). Thereconfiguration parameters can include the unique tracking deviceidentifier and/or the unique mobile device identifier.

The reconfiguration instructions refer to any communication sent fromthe mobile device 102 to the tracking device 106 via the second network110. The reconfiguration instructions include reconfiguration parametersfor the tracking device 106. In some configurations, the reconfigurationinstructions further include instructions for the tracking device 106 toemit a sound or song from the speakers, to emit light from the LEDs, todisplay an indication on the display, or to display or emit any othertype of notification (such as vibrations).

System Overview

FIG. 2 illustrates a diagram showing example components of the trackingsystem 100. As shown, the tracking system 100 includes, but is notlimited to, an association manager 204, a tracking device manager 206,and a data manager 208 (herein collectively referred to as “managers204-208”), each of which can communicate using any suitablecommunication technologies. It will be recognized that although managers204-208 are shown to be separate in FIG. 2, any of the managers 204-208can be combined into fewer managers, such as into a single manager, ordivided into more managers as can serve a particular embodiment. Thetracking system 100 can be a server, such as a cloud server, a datacenter, a computer specially configured to perform the functionalitiesdescribed herein, or any other suitable system.

The association manager 204 receives and processes information aboutspecific tracking devices 106 within a threshold proximity of the mobiledevice 102 configured to scan for nearby tracking devices 106. Theassociation manager 204 stores the received information in a database(e.g., user database 210 and/or tracker database 212). The associationmanager 204 associates the tracking device 106 with the mobile device102. For example, the association manager 204 can store informationabout the tracking device 106, such as the unique tracking deviceidentifier of the tracking device 106 in association with the uniquemobile device identifier for the mobile devices 102 within a thresholdproximity of the tracking device 106.

The tracking device manager 206 (hereinafter referred to as “devicemanager 206”) receives and processes diagnostic information from themobile device 102, revises a power consumption model, determinesreconfigurations parameters based on the revised power consumptionmodel, and transmits the reconfiguration parameters to the trackingdevice 106 via the mobile device 102 within a threshold proximity of thetracking device 106.

The device manager 206 receives the diagnostic information from themobile device 102 and stores the received diagnostic information in thediagnostics database 214. In some configurations, the diagnosticinformation includes the tracking device diagnostic information. In oneexample, the device manager 206 queries a database (e.g., trackerdatabase 212) and identifies the tracking device 106 associated with thereceived tracking device diagnostic information. For example, the devicemanager 206 queries the database (e.g., tracker database 212) using aunique tracking device identifier included in the diagnostic informationto identify the tracking device 106

In other configurations, the diagnostic information further includes themobile device diagnostic information. In one example, the trackingdevice manager 206 further queries a database (e.g., user database 210)and identifies the user 103 associated with the mobile device 102associated with the received mobile device diagnostic information. Forexample, the device manager 206 queries the database (e.g., userdatabase 210) using the unique mobile device identifier included in themobile device diagnostic information to identify the user 103 associatedwith the mobile device 102.

In configurations in which the diagnostic information includes thetracking device diagnostic information and the mobile device diagnosticinformation, the device manager 206 parses the diagnostic informationinto the tracking device diagnostic information and the mobile devicediagnostic information. The device manager 206 can store the trackingdevice diagnostic information in the tracker database 212 and can storethe mobile device diagnostic information in the user database 210.

The device manager 206 revises a power consumption model for thetracking device 106 (stored, for instance, within the data manager 208in association with the tracking device 106) based on the diagnosticinformation stored in the diagnostics database 214. The powerconsumption model models various parameters of the tracking device 106such that the tracking device 106 satisfies a power condition. The powercondition can be, for example, that the tracking device 106 lasts for athreshold period of time (e.g., for one year) given the limited batterylife of the tracking device 106 and inability to easily replace thebattery of the tracking device 106. The power consumption model caninclude an expected date the power capacity of the tracking device 106is expected to reach a minimum value (i.e., be drained).

The device manager 206 revises the power consumption model based on thediagnostic information stored in the diagnostic database 214. Inrevising the power consumption model, the device manager 206 modelsvarious parameters of the tracking device 106 such that the trackingdevice 106 satisfies (and surpasses), the power condition as well asbest personalizes an experience of the user 103 with the tracking device106. The revised power consumption model includes a revised expecteddate the limited battery life of the tracking device 106 is expected tofall below a threshold power capacity. The device manager 206 revisesthe power consumption model based on the tracking device diagnosticinformation stored in the tracker database 212, the mobile devicediagnostic information stored in the user database 210, or a combinationthereof. For example, the device manager 206 revises the powerconsumption model based on the tracking device diagnostic informationincluding usage information associated with the one or more sensors, thespeakers, the LEDs, the displays, battery information of the trackingdevice 106, etc. For example, the device manager 206 revises the powerconsumption model based on current power settings, power usage history,etc.

The device manager 206 determines reconfiguration parameters based onthe revised power consumption model. Determining reconfigurationparameters includes either increasing or decreasing power usage and/orefficiency of the tracking device 106 based on the revised powerconsumption model. The device manager 206 can determine differentreconfiguration parameters for different tracking devices 106 associatedwith different mobile devices 102 and/or different users 103. The devicemanager 206 transmits the determined reconfiguration parameters to themobile device 102 via the first network 108. In some configurations, indetermining the reconfiguration parameters based on the revised powerconsumption model, the device manager 206 determines a change in theparameters of the tracking device 106 from current parameters to thedetermined reconfiguration parameters. In these configurations, thedevice manager 206 transmits the change in the parameters to the mobiledevice 102 for transmission to the tracking device 106.

In one specific non-limiting example, the device manager 206 revises apower consumption model based on the tracking device diagnosticinformation usage information associated with a motion sensor of thetracking device 106 and determines reconfiguration parameters based onthe revised power consumption model. Historical usage informationassociated with the motion sensor can indicate the tracking device 106does not move much Monday through Friday between the hours of 9 PM to 6AM, 9 AM to 11:30 AM, 1:30 PM to 5:30 PM, and moves quite significantlyMonday through Friday between the hours of 6 AM to 9 AM, 11:30 AM to1:30 PM, and 5:30 PM to 9 PM. The device manager 206 revises the powerconsumption model based on the historical usage information associatedwith the motion sensor. The device manager 206 determines thereconfiguration parameters based on the revised power consumption model.The device manager 206 determines the reconfiguration parametersincluding an instruction for the tracking device 106 to use a higherefficiency setting for the hours that historically correspond to lowamounts of movement and to use a higher power setting for the hours thathistorically correspond to high amounts of movement. In one example, thehigher efficiency setting can include instructions for the trackingdevice 106 to broadcast the advertisement packets at a lower frequency(e.g., once every 10.24 seconds) and the higher power setting caninclude instructions for the tracking device 106 to broadcast theadvertisement packets at a higher frequency (e.g., once every 20milliseconds). The higher efficiency setting and the higher powersetting can each include additional instructions for controlling thecomponents or functionalities of the tracking device 106. The devicemanager 206 can determine reconfiguration parameters includinginstructions for the tracking device 106 to use a higher efficiencysetting for some components/aspects of the tracking device 106 and ahigher power setting for other components/aspects of the tracking device106.

In some configurations, the device manager 206 further revises the powerconsumption model based on the mobile device diagnostic information.Continuing the previous example, the device manager 206 revises thepower consumption model further based on the calendar informationincluding events the user 103 of the mobile device 102 is scheduled toattend. The user 103 can have a dinner scheduled at a restaurant onWednesday from 8 PM to 10 PM. The historical usage informationassociated with the motion sensor indicates the tracking device 106 doesnot move much on a typical Wednesday after 9 PM; however, the calendarinformation suggests the user 103 will be moving quite significantlyfrom 7:30 PM to 10:30 PM (e.g., including 30 minutes for travel to andfrom the restaurant). As such, the device manager 206 revises the powerconsumption model based on the calendar information for the user 103.The device manager 206 determines reconfiguration parameters includinginstructions for the tracking device 106 to use the higher power settingfor the hours the user 103 will be deviating from the behaviors definedby the historical usage information (i.e., from 7:30 PM to 10:30 PM).

The device manager 206 transmits the determined reconfigurationparameters to the tracking device 106 via the mobile device 102 within athreshold proximity of the tracking device 106. In some configurations,the device manager 206 receives a notification from the mobile device102 indicating the tracking device 106 successfully received thereconfiguration parameters including a time since or date of lastreconfiguration. In other configurations, the device manager 206receives a notification from the mobile device 102 that the user 103provided reconfiguration parameters as input to the mobile device 102 totransmit to the tracking device 106 and that the reconfigurationparameters were successfully received by the tracking device 106including a time since or date of last reconfiguration. The devicemanager 206 can further revise the power consumption model based on thereceived notification.

In one example, the device manager 206 stores the reconfigurationparameters. The device manager 206 can set a flag in a database (e.g.,tracker database 212 and/or user database 210) indicating that thetracking device 106 has pending reconfiguration parameters. Setting aflag for a tracking device 106 can include storing and/or associating avalue associated with the tracking device 106 that indicates that thetracking device 106 has pending reconfiguration parameters. This caninclude setting a flag, marker, digital value, or other indication thatthe tracking device 106 has pending reconfiguration parameters andmaintaining or storing the indication of the associated tracking device106 on the tracking system 100 (e.g., on a database). In response to thereceipt by the association manager 204 of a signal from the mobiledevice 102 indicating that the mobile device 102 is within a thresholdproximity of the tracking device 106, the association manager 204 canquery the device manager 206 to determine if a flag indicating pendingreconfiguration parameters are set for the tracking device 106. Inresponse to such a determination, the device manager 206 can transmitthe reconfiguration parameters to the mobile device 102. Upon receivinga notification (e.g., a confirmation) indicating that the trackingdevice 106 has received the reconfiguration parameters (or in responseto transmitting the reconfiguration parameters to the mobile device102), the device manager 206 can remove the flag in the databaseindicating the tracking device 106 has pending reconfigurationparameters.

The data manager 208 stores and manages information associated withusers, mobile devices, tracking devices, reconfiguration parameters andother data that can be stored and/or maintained in a database related toreconfiguration parameters. As shown, the data manager 208 may include,but is not limited to, a user database 210, a tracker database 212, anda diagnostics database 214. It will be recognized that althoughdatabases and data within the data manager 208 are shown to be separatein FIG. 2, any of the user database 210, the tracker database 212, andthe diagnostics database 214 may be combined in a single database ormanager, or divided into more databases or managers as may serve aparticular embodiment.

The user database 210 stores data related to various users. For example,the user database 210 can store the information from the user 103 and/orthe information from the mobile device 102. The information from theuser 103 and/or the information from the mobile device 102 can beassociated with one or more respective tracking devices 106, or can bestored without an association to a particular tracking device 106. Forexample, the user 103 can provide information and permit performance oftracking functions on the mobile device 102 without owning or beingassociated with the tracking device 106. The user database 210 can alsoinclude information about one or more mobile devices 102 or otherelectronic devices associated with a particular user 103.

The tracker database 212 stores data related to tracking devices 106.For example, the tracker database 212 can store the information from theadvertisement packets. The tracker database 212 can further includetracking data for any tracking device 106. Tracking data can includeunique tracking device identifiers associated with individual trackingdevices 106. The tracking device identifiers can be associated withmobile devices 102 within a threshold proximity of the tracking devices106.

The tracker database 212 and/or the user database 210 can includeinformation describing permissions and permission levels associated witha particular user 103 and/or tracking device 106. For example, thetracker database 212 and/or the user database 210 can identifyadditional users 103 with shared permissions (such as accesspermissions, communication permissions, and the like) for a trackingdevice 106.

The diagnostics database 214 stores diagnostic information. In someconfigurations, the diagnostics database 214 stores the tracking devicediagnostic information and in other configurations, the diagnosticdatabase 214 stores the tracking device diagnostic information and themobile device diagnostic information.

FIG. 3 illustrates a diagram showing example components of the mobiledevice 102. As shown, the mobile device 102 may include, but is notlimited to, a user interface manager 302, a configuration instructionsmanager 304, a database manager 306, and a tracking manager 308, each ofwhich may be in communication using any suitable communicationtechnologies. It will be recognized that although managers 302-308 areshown to be separate in FIG. 3, any of the managers 302-308 may becombined into fewer managers, such as into a single manager, or dividedinto more managers as may serve a particular embodiment.

The user interface manager 302 facilitates the user 103 in providingdata to and access to data on the tracking system 100 and/or trackingdevice 106. Further, the user interface manager 302 provides a userinterface by which the user 103 can communicate with tracking system 100and/or tracking device 106 via mobile device 102. The user interfacemanager 302 can receive reconfiguration parameters from the user 103 totransmit to the tracking device 106.

The configuration instructions manager 304 (hereinafter referred to as“instructions manager 304”) receives and processes reconfigurationparameters and transmits reconfiguration instructions. In someconfigurations, the mobile device 102 receives reconfigurationparameters from the tracking system 100 via the first network 108, theinstructions manager 304 processes the received reconfigurationparameters, and transmits reconfiguration instructions to the trackingdevice 106 via the second network 110. The instructions manager 304 cannotify the tracking system 100 that the reconfiguration parameters weresuccessfully received by the tracking device 106 and can include a timesince or date of last reconfiguration, for instance, in response to aconfirmation signal received from the tracking device 106. Theinstructions manager 304 can notify the tracking system 100 via thefirst network 108. In other configurations, the mobile device 102receives reconfiguration parameters from the user 103 via the userinterface manager 302, and the instructions manager 304 processes thereceived reconfiguration parameters and transmits reconfigurationinstructions to the tracking device 106 over the second network 110. Theinstructions manager 304 can notify the user 103 that thereconfiguration parameters were successfully received by the trackingdevice 106 and can include a time since or date of last reconfiguration.The instruction manager 304 can notify the user 103 via the userinterface manager 302. Furthermore, the instructions manager 304 cannotify the tracking system 100 of the reconfiguration parameters theuser 103 provided as input via the user interface manager 302 totransmit to the tracking device 106 and that the reconfigurationparameters were successfully received by the tracking device 106 and caninclude a time since or date of last reconfiguration.

The database manager 306 maintains data related to the user 103, thetracking device 106, the reconfiguration parameters/instructions, orother data that can be used for communicating with a tracking device106. Further, the database manager 306 maintains any information thatcan be accessed using any other manager on the mobile device 102.

The tracking manager 308 includes a tracking application (e.g., asoftware application) for communicating with the tracking device 106associated with the user 103. For example, the tracking manager 308 canbe one configuration of a tracking application installed on the mobiledevice 102 that provides the functionality for communicating with thetracking device 106. As shown, the tracking manager 308 can include, butis not limited to, a Bluetooth Low Energy (BLE) manager 310, apersistence manager 312, a local files manager 314, a motion manager316, a secure storage manager 318, a settings manager 320, a locationmanager 322, a network manager 324, a notification manager 326, a soundmanager 328, a friends manager 330, a photo manager 332, anauthentication manager 334, and a device manager 336. Thus, the trackingmanager 308 may perform any of the functions associated with managers310-338, described in additional detail below.

The BLE manager 310 can be used to manage communication with one or moretracking devices 106. The persistence manager 312 can be used to storelogical schema information that is relevant to the tracking manager 308.The local files manager 314 can be responsible for managing all filesthat are input or output from the mobile device 102. The motion manager316 can be responsible for all motion management required by thetracking manager 308. The secure storage manager 318 can be responsiblefor storage of secure data, including information such as passwords andprivate data that would be accessed through this sub-system. Thesettings manager 320 can be responsible for managing settings used bythe tracking manager 308. Such settings can be user controlled (e.g.,user settings) or defined by the tracking manager 308 for internal use(e.g., application settings) by a mobile device 102 and/or the trackingsystem 100. The location manager 322 can be responsible for all locationtracking done by the tracking manager 308. For example, the locationmanager 322 can manage access to the location services of the mobiledevice 102 and works in conjunction with other managers to persist data.

The network manager 324 may be responsible for all Internetcommunications from the tracking manager 308. For example, the networkmanager 324 can mediate all Internet API calls for the tracking manager308. The notification manager 326 can be responsible for managing localand push notifications required by the tracking manager 308. The soundmanager 328 can be responsible for playback of audio cues by thetracking manager 308. The friends manager 330 can be responsible formanaging access to contacts and the user's social graph. The photomanager 332 can be responsible for capturing and managing photos used bythe tracking manager 308. The authentication manager 334 can beresponsible for handling the authentication (e.g., sign in or login) ofusers. The authentication manager 334 can also include registration(e.g., sign up) functionality. The authentication manager 334 canfurther coordinate with other managers to achieve registrationfunctionality. The device manager 336 can be responsible for managingthe devices discovered by the tracking manager 308. The device manager336 can further store and/or maintain the logic for algorithms relatedto device discovery and update.

Interaction

FIG. 4 illustrates an interaction diagram for sending reconfigurationparameters from a tracking system 100 to a tracking device 106 via amobile device 102, according to one embodiment.

The tracking device 106 broadcasts 402 at least one advertisementpacket. The advertisement packet can include a unique device identifierassociated with the tracking device 106, usage information associatedwith software/hardware components onboard the tracking device 106, abroadcast frequency, etc.

The mobile device 102 receives via the second network 110 theadvertisement packet from tracking devices 106 within a thresholdproximity of the mobile device 102. The mobile device 102 transmits 404via the first network 108 diagnostic information to the tracking system100. The diagnostic information includes information that characterizesusage behaviors or properties of the tracking device 106, includinginformation included in the received advertisement packet. In someconfigurations, the diagnostic information further includes mobiledevice diagnostic information (such as information describing usagebehaviors or properties of the mobile device and/or a user of the mobiledevice).

The tracking system 100 receives via the first network 108 thediagnostic information from the mobile device 102. The tracking system100 processes 406 the received diagnostic information including thetracking device diagnostic information. Processing 406 the trackingdevice diagnostic information includes storing the tracking devicediagnostic information, querying a database to identify the trackingdevice 106 associated with the received tracking device diagnosticinformation, etc. In configurations in which the diagnostic informationincludes the tracking device diagnostic information and the mobiledevice diagnostic information, processing 406 the received diagnosticinformation can further include parsing the diagnostic information intothe tracking device diagnostic information and the mobile devicediagnostic information, querying a database to identify the mobiledevice 102 and/or the user 103 associated with the diagnosticinformation, etc.

The tracking system 100 revises 408 a power consumption model for thetracking device 106 based on the processed diagnostic information.Revising a power consumption model can include determining a length oftime the tracking device can continue to operate at historical behaviorsin view of a current tracking device battery capacity, and if thedetermined length of time does not exceed a minimum threshold length oftime (the “power condition”, such as operation for a full year since thetracking device was activated), can include modeling various parametersof the tracking device 106 such that the tracking device 106 satisfiesand/or surpasses the power condition (extends the length of time thetracking device can operate to exceed, for instance, the “operation fora full year” criteria). The tracking system 100 determines thereconfiguration parameters based on the revised power consumption model.The reconfiguration parameters include instructions for dynamicallyadjusting parameters at the tracking device 106. In some configurations,the device manager 206 determines the reconfiguration parameters furtherbased on the mobile device diagnostic information stored in the userdatabase 210. The tracking system 100 transmits 410 the determinedreconfiguration parameters to the mobile device 102 via the firstnetwork 110.

The mobile device 102 receives reconfiguration parameters from thetracking system 100 via the first network 108. The mobile device 102transmits 412 reconfiguration instructions including the reconfigurationparameters to the tracking device 106 via the second network 110. Insome configurations, the reconfiguration instructions further includeinstructions for the tracking device 106 to emit a sound or song fromthe speakers, to emit light from the LEDs, to display an indication onthe display, or to display or emit any other type of notification (suchas vibrations).

The tracking device 106 receives the reconfiguration instructions fromthe mobile device 102 via the second network 110. The tracking device106 dynamically adjusts 414 parameters of the advertisement packetsand/or parameters of the components, based on reconfiguration parametersincluded in the reconfiguration instructions. In one example, thetracking device 106 dynamically adjusts 414 parameters of theadvertisement packets to broadcast at a lower frequency, adjusts 414 theparameters of the components to emit sound from the speakers at a highervolume, emit light from the LEDs at a lower brightness, vibrate at ahigher setting for a longer duration, etc.

It should be noted that in some embodiments, the tracking device 106 ofFIG. 1 is a mobile device 102 configured to act as a tracking device106, for instance after the passage of a threshold amount of timewithout receiving an input from the user 103, without receiving acommunication from the tracking system 100, without detecting movement,or the like. In such embodiments, the mobile device 102 is any connecteddevice (e.g., personal computer, laptop, tablet, etc.) capable ofcommunicating with the tracking system 100 via the first network 108. Insuch embodiments, the reconfiguration instructions/parameters can besent to the mobile device 102 acting as the tracking device 106,enabling the adjustment of parameters at the mobile device 102,beneficially achieving, and surpassing, the power condition andpersonalizing the experience of the user 103 with the mobile device 102.In some embodiments, the mobile device 102 can be marked as lost, forinstance in response to a designation of the mobile device 102 as lostby the user 103 of the mobile device 102, in response the passage of athreshold amount of time without a communication between the trackingsystem 100 and the mobile device 102, in response to the passage of athreshold amount of time without a detected movement of the mobiledevice 102, or based on any other suitable factors. In some embodiments,the mobile device 102 is configured to act as the tracking device 106and can broadcast advertisement parameters. In such embodiments, when asecond user 103 with another mobile device 102 comes within a thresholdproximity of the mobile device 102 configured as the tracking device106, the another mobile device 102 of the second user 103 can receivethe broadcasted advertisement packet, and can report the location of themobile device 102 to the tracking system 100. In turn, the trackingsystem 100 can provide a notification to the user 103 that the mobiledevice 102 configured to act as the tracking device 106 has been found,the location of the mobile device 102 configured to act as the trackingdevice 106, and the like.

In some embodiments, the mobile device 102 is configured to act as thetracking device 106 and can emit a notification in response to an inputby the user 103 at the tracking device 106. For instance, the user 103can interact with a button, switch, dial, displayed interface, or otherinterface at the tracking device 106, which can provide reconfigurationinstructions to the mobile device 102 to ring. Such embodiments,beneficially allow the user 103 to locate the mobile device 102 from thetracking device 106. In some embodiments, the tracking device 106 can,in response to a communication (e.g., reconfiguration parameters)received from the mobile device 102 or a lack thereof, broadcast one ofa plurality of notifications and, for example, include the one of theplurality of notifications in the advertisement packet. For example, thetracking device 106 can emit a first ringtone in response to failing toreceive, from the mobile device 102, a response to reconfigurationinstructions sent by the tracking device 106. Continuing with thisexample, the tracking device 106 can emit a second ringtone if thetracking device 106 is communicatively coupled with the mobile device102, can emit a third ringtone in response to detecting the mobiledevice 102 but being unable to communicatively couple to the mobiledevice 102, and emit a fourth ringtone in response to detecting themobile device 102 but before attempting to communicatively couple to themobile device 102, can emit a fifth ringtone in response to activelyattempting to communicatively couple to the mobile device 102, or anycombination or sub-combination thereof.

ADDITIONAL CONSIDERATIONS

The foregoing description of the embodiments of the disclosure has beenpresented for the purpose of illustration; it is not intended to beexhaustive or to limit the disclosure to the precise forms disclosed.Persons skilled in the relevant art can appreciate that manymodifications and variations are possible in light of the abovedisclosure.

Any of the devices or systems described herein can be implemented by oneor more computing devices. A computing device can include a processor, amemory, a storage device, an I/O interface, and a communicationinterface, which may be communicatively coupled via communicationinfrastructure. Additional or alternative components may be used inother embodiments. In particular embodiments, a processor includeshardware for executing computer program instructions by retrieving theinstructions from an internal register, an internal cache, or othermemory or storage device, and decoding and executing them. The memorycan be used for storing data or instructions for execution by theprocessor. The memory can be any suitable storage mechanism, such asRAM, ROM, flash memory, solid state memory, and the like. The storagedevice can store data or computer instructions, and can include a harddisk drive, flash memory, an optical disc, or any other suitable storagedevice. The I/O interface allows a user to interact with the computingdevice, and can include a mouse, keypad, keyboard, touch screeninterface, and the like. The communication interface can includehardware, software, or a combination of both, and can provide one ormore interfaces for communication with other devices or entities.

Some portions of this description describe the embodiments of thedisclosure in terms of algorithms and symbolic representations ofoperations on information. These algorithmic descriptions andrepresentations are commonly used by those skilled in the dataprocessing arts to convey the substance of their work effectively toothers skilled in the art. These operations, while describedfunctionally, computationally, or logically, are understood to beimplemented by computer programs or equivalent electrical circuits,microcode, or the like. Furthermore, it has also proven convenient attimes, to refer to these arrangements of operations as components,without loss of generality. The described operations and theirassociated components may be embodied in software, firmware, hardware,or any combinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or softwarecomponents, alone or in combination with other devices. In oneembodiment, a software component is implemented with a computer programproduct comprising a computer-readable medium containing computerprogram code, which can be executed by a computer processor forperforming any or all of the steps, operations, or processes described.

Embodiments of the disclosure may also relate to an apparatus forperforming the operations herein. This apparatus may be speciallyconstructed for the required purposes, and/or it may comprise ageneral-purpose computing device selectively activated or reconfiguredby a computer program stored in the computer. Such a computer programmay be stored in a non-transitory, tangible computer readable storagemedium, or any type of media suitable for storing electronicinstructions, which may be coupled to a computer system bus.Furthermore, any computing systems referred to in the specification mayinclude a single processor or may be architectures employing multipleprocessor designs for increased computing capability.

Embodiments of the disclosure may also relate to a product that isproduced by a computing process described herein. Such a product maycomprise information resulting from a computing process, where theinformation is stored on a non-transitory, tangible computer readablestorage medium and may include any embodiment of a computer programproduct or other data combination described herein.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the inventive subject matter.It is therefore intended that the scope of the disclosure be limited notby this detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsof the disclosure is intended to be illustrative, but not limiting, ofthe scope of the disclosure, which is set forth in the following claims.

What is claimed is:
 1. A method for reconfiguring a tracking device,comprising: receiving, by a mobile device communicatively coupled to thetracking device, diagnostic information identifying a battery powercapacity available to the tracking device, the tracking deviceconfigured to broadcast advertising packets at a default frequency;providing, by the mobile device to a tracking server, the receiveddiagnostic information, the tracking server configured to estimate anamount of operation time remaining for the tracking device based on thebattery power capacity available to the tracking device; receiving, bythe mobile device from the tracking server, first reconfigurationinstructions identifying a first time interval corresponding to ahistoric period of low tracking device movement and a decreasedbroadcast frequency; receiving, by the mobile device from the trackingserver, second reconfiguration instructions identifying a second timeinterval corresponding to a historic period of high tracking devicemovement and an increased broadcast frequency; and configuring, by themobile device, the tracking device to transmit advertisement packets atthe decreased broadcast frequency during the first time interval, at theincreased broadcast frequency during the second time interval, and atthe default broadcast frequency outside of the first time interval andsecond time interval.
 2. The method of claim 1, wherein the trackingdevice is configured to provide diagnostic information to the mobiledevice in response to a request from a user of the mobile device.
 3. Themethod of claim 1, wherein the tracking device is configured to providediagnostic information to the mobile device periodically.
 4. The methodof claim 1, wherein the diagnostic information further includesinformation describing a historical behavior of the tracking device. 5.The method of claim 4, wherein the historical behavior of the trackingdevice comprises tracking device movement information.
 6. The method ofclaim 4, wherein the historical behavior of the tracking devicecomprises behavior during a time interval corresponding to the firsttime interval or the second time interval.
 7. The method of claim 1,wherein the first reconfiguration instructions comprise instructions fordeactivating one or more sensors of the tracking device.
 8. A system forreconfiguring a tracking device, comprising: a hardware processor; and anon-transitory computer-readable storage medium storing executableinstructions that, when executed by the hardware processor, cause thehardware processor to perform steps comprising: receiving diagnosticinformation identifying a battery power capacity available to a trackingdevice, the tracking device configured to broadcast advertising packetsat a default frequency; providing, to a tracking server, the receiveddiagnostic information, the tracking server configured to estimate anamount of operation time remaining for the tracking device based on thebattery power capacity available to the tracking device; receiving, fromthe tracking server, first reconfiguration instructions identifying afirst time interval corresponding to a historic period of low trackingdevice movement and a decreased broadcast frequency; receiving, from thetracking server, second reconfiguration instructions identifying asecond time interval corresponding to a historic period of high trackingdevice movement and an increased broadcast frequency; and configuringthe tracking device to transmit advertisement packets at the decreasedbroadcast frequency during the first time interval, at the increasedbroadcast frequency during the second time interval, and at the defaultbroadcast frequency outside of the first time interval and second timeinterval.
 9. The system of claim 8, wherein the tracking device isconfigured to provide diagnostic information to the mobile device inresponse to a request from a user of the mobile device.
 10. The systemof claim 8, wherein the tracking device is configured to providediagnostic information to the mobile device periodically.
 11. The systemof claim 8, wherein the diagnostic information further includesinformation describing a historical behavior of the tracking device. 12.The system of claim 11, wherein the historical behavior of the trackingdevice comprises tracking device movement information.
 13. The system ofclaim 11, wherein the historical behavior of the tracking devicecomprises behavior during a time interval corresponding to the firsttime interval or the second time interval.
 14. The system of claim 8,wherein the first reconfiguration instructions comprise instructions fordeactivating one or more sensors of the tracking device.
 15. Anon-transitory computer-readable storage medium storing executableinstructions that, when executed by a processor, cause the processor toperform steps comprising: receiving diagnostic information identifying abattery power capacity available to a tracking device, the trackingdevice configured to broadcast advertising packets at a defaultfrequency; providing, to a tracking server, the received diagnosticinformation, the tracking server configured to estimate an amount ofoperation time remaining for the tracking device based on the batterypower capacity available to the tracking device; receiving, from thetracking server, first reconfiguration instructions identifying a firsttime interval corresponding to a historic period of low tracking devicemovement and a decreased broadcast frequency; receiving, from thetracking server, second reconfiguration instructions identifying asecond time interval corresponding to a historic period of high trackingdevice movement and an increased broadcast frequency; and configuringthe tracking device to transmit advertisement packets at the decreasedbroadcast frequency during the first time interval, at the increasedbroadcast frequency during the second time interval, and at the defaultbroadcast frequency outside of the first time interval and second timeinterval.
 16. The non-transitory computer-readable storage medium ofclaim 15, wherein the tracking device is configured to providediagnostic information to the mobile device in response to a requestfrom a user of the mobile device.
 17. The non-transitorycomputer-readable storage medium of claim 15, wherein the trackingdevice is configured to provide diagnostic information to the mobiledevice periodically.
 18. The non-transitory computer-readable storagemedium of claim 15, wherein the diagnostic information further includesinformation describing a historical behavior of the tracking device. 19.The non-transitory computer-readable storage medium of claim 18, whereinthe historical behavior of the tracking device comprises tracking devicemovement information.
 20. The non-transitory computer-readable storagemedium of claim 18, wherein the historical behavior of the trackingdevice comprises behavior during a time interval corresponding to thefirst time interval or the second time interval.